/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package net.java.dev.netbeansspot;

import com.sun.squawk.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;

/**
 *
 * @author Administrador
 */
public class Configuracion {
    //Declaracion de variables
    private String coordenadas;
    private String sentido;
    private String pistas;
    private int puertoMensaje;
    private int puertoRSSI;

    public Configuracion() {
        this.coordenadas = CargarValores("/coordenadas.txt");
        this.sentido = CargarValores("/sentido.txt");
        this.pistas = CargarValores("/pistas.txt");
        this.puertoMensaje=CargarValoresNumericos("/puertoMensaje.txt");
        this.puertoRSSI=CargarValoresNumericos("/puertoRssi.txt");
    }

   
    //metodos getters y setters 

    public String getCoordenadas() {
        return coordenadas;
    }

    public void setCoordenadas(String coordenadas) {
        this.coordenadas = coordenadas;
    }

    public String getSentido() {
        return sentido;
    }

    public void setSentido(String sentido) {
        this.sentido = sentido;
    }

    public String getPistas() {
        return pistas;
    }

    public void setPistas(String pistas) {
        this.pistas = pistas;
    }

    public int getPuertoMensaje() {
        return puertoMensaje;
    }

    public void setPuertoMensaje(int puertoMensaje) {
        this.puertoMensaje = puertoMensaje;
    }

    public int getPuertoRSSI() {
        return puertoRSSI;
    }

    public void setPuertoRSSI(int puertoRSSI) {
        this.puertoRSSI = puertoRSSI;
    }
    
    
     //Metodo encargado de la carga de valores de un archivo de configuracion
    private String CargarValores(String archivo) {
       String Mensaje ="";
        try {
            InputStream data = getClass().getResourceAsStream(archivo);
            BufferedReader salidaEstandar = new BufferedReader
                    (new InputStreamReader(data));
            String valor = "";
            while ((valor = salidaEstandar.readLine()) != null) {
                System.out.println(valor);
                Mensaje = Mensaje + valor;
            }

        } catch (Exception ex) {
            ex.printStackTrace();
        }
        return Mensaje;
    }
    
    //Metodo encargado de la carga de valores EXCLUSIVAMENTE NUMERICOS
    //de un archivo de configuracion
      private int CargarValoresNumericos(String archivo) {
       String Mensaje ="";
       int numero;
        try {
            InputStream data = getClass().getResourceAsStream(archivo);
            BufferedReader salidaEstandar = new BufferedReader
                    (new InputStreamReader(data));
            String valor ="";
            while ((valor = salidaEstandar.readLine()) != null) {
                System.out.println(valor);
                Mensaje = Mensaje + valor;
            }

        } catch (Exception ex) {
            ex.printStackTrace();
        }
        Mensaje= Mensaje.trim();
        numero= Integer.parseInt(Mensaje);
        return numero;
    }
    
    public String MensajeTransmision(){
        String Mensaje;
        Mensaje=this.coordenadas+this.sentido+this.pistas;
        return Mensaje;
    }
}
